Skip to content

Dev coolfish#41

Merged
ifishcool merged 6 commits into
mainfrom
dev_coolfish
May 15, 2026
Merged

Dev coolfish#41
ifishcool merged 6 commits into
mainfrom
dev_coolfish

Conversation

@ifishcool
Copy link
Copy Markdown
Contributor

No description provided.

ifishcool added 6 commits May 13, 2026 18:26
BREAKING CHANGE: 已移除 `hasBox3JSClient()` 和 `hasBox3JSClientMod()` 方法,不再需要手动检测客户端。远程通道事件现在使用可选负载,无 Box3JS 的普通客户端会自动忽略且不会报错。

实现方案改用原版箱子菜单类型替代自定义容器,无需注册客户端界面及 MenuType 定义。
添加 verifyBox3JSProject 任务,用于检查模板文件、运行时 DTS 拆分以及事件 API Token 的一致性。将该任务注册到 check 生命周期。启用废弃 API 和未检查操作的编译器警告,提升代码质量。

docs(api): 添加 API 风格规范并改进文档

新增 API 风格规则章节,涵盖 GameEventHandlerToken 使用、环境特定类型、跨端数据通信以及坐标 API 模式。更新 client.onTick 文档,反映其返回 GameEventHandlerToken。补充 db.isAvailable() 文档。记录 player 的 position、velocity、bounds 和 onGround 属性。在服务端 API 文档中添加 broadcastClientEvent 示例。说明 storage.key 属性。更新架构文档,反映 server.js 入口点。

feat(client): 为客户端事件实现 GameEventHandlerToken

修改 client.onTick 使其返回 GameEventHandlerToken,实现事件监听器的规范管理。更新按键映射,包含无前缀的修饰键(shift、ctrl、alt)。使用解释执行上下文进行 Rhino 操作。

refactor(storage): 集中存储路径解析与错误处理

将存储文件操作移至 Box3StorageSupport 工具类,实现更好的错误处理和一致的路径解析。用集中式实现替代手动的路径清理。

refactor(database): 改进错误处理与日志记录

将数据库目录创建失败时的静默异常捕获替换为适当的警告日志。

refactor(gui): 改进错误处理与日志记录

将 GUI 槽位条目无效时的静默异常捕获替换为调试日志。

refactor(entity): 改进错误处理与日志记录

将设置文本展示实体属性失败时的静默异常捕获替换为警告日志。使用 BuiltInRegistries 进行实体类型查找,替代已废弃的方法。

refactor(response): 移除静默异常处理

移除解析 JSON 响应体时被忽略的异常处理。

refactor(player): 为玩家事件实现 GameEventHandlerToken

更新 player.onChat 使其返回 GameEventHandlerToken,实现事件监听器的规范管理。改进设置玩家列表名称时的错误处理。
为 Box3JS 添加基于 Rhino 引擎的双端(客户端 + 服务端)TypeScript/JavaScript 脚本支持,取代了之前仅限服务端的实现。包含全面的文档更新、新增的分离式客户端/服务端 API 包结构,以及支持服务端和客户端脚本编译的增强构建流程。

BREAKING CHANGE: Box3JS 现已支持客户端和服务端脚本,取代了之前的仅服务端脚本模式。项目需要更新脚本结构以适配新的双端架构。
- 更新主要描述,明确 Box3JS 是社区驱动的 Minecraft 模组
- 添加 Box3JS 与 Box3 关系文档的参考链接
- 扩展 API 设计灵感来源于 Box3 平台的说明
- 新增 about-box3js 指南文档路径
- 修复安装示例代码块的格式问题
- 调整表格列宽,提升可读性
- 优化功能表格和 API 概览表格的文本对齐
Player 类反射访问中的字段名被错误地写成了 "displayName",实际应为 "displayname"。

feat(build): 为 Rhino 环境添加正则表达式插件支持

添加 rhinoRegexPlugin 插件,用于处理 Minecraft Rhino 环境中的正则表达式操作。由于类加载器隔离导致 NativeRegExp 无法加载,该插件将正则表达式字面量转换为对辅助函数的调用,支持 split、match、replace、test 和 exec 操作。

该插件将以下语法进行转换:
- str.split(/pattern/flags) → __regexSplit(str, "pattern", "flags")
- str.match(/pattern/flags) → __regexMatch(str, "pattern", "flags")
- str.replace(/pattern/flags, r) → __regexReplace(str, "pattern", "flags", r)
- /pattern/flags.test(str) → __regexTest("pattern", "flags", str)
- 在 .gitignore 中添加 VitePress 相关条目,包括 node_modules、docs/.vitepress/dist/ 及 docs/.vitepress/cache/
- 移除 BOX3_API_COMPARISON.md 中冗余的目录,因其与章节标题重复
- 优化天气 API 对比表格的列对齐,改进 Markdown 格式
- 移除 API 对比文档中各章节之间冗余的分隔线
- 在 Box3JS 独有能力章节中补充缺失的换行,提升可读性
- 移除主 README.md 文件,因文档结构已变更
@ifishcool ifishcool merged commit 170b498 into main May 15, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant